Applications of wait/lock-free protocols to real-time systems

نویسندگان

  • Hans Hansson
  • Philippas Tsigas
چکیده

In most real-time systems, concurrency and access to shared resources are controlled by locking. A serious disadvantage is that locking may give rise to priority inversion, i.e. situations in which a high-priority task has to wait for a low-priority task to release a lock. That is a serious problem, because it can make a task miss its deadline, which, in turn can cause various types of disaster in the system. The conventional methods to cope with this problem are based on having the kernel of the system dynamically adjust priorities to ensure bounds on the waiting times [15, 20, 21]; however, the problem of waiting due to blocking is still there [15, 20, 21], enforcing serialisation on the processes and causing concurrency bottlenecks and possibly also deadlocks. It is possible to share data and objects, without using locks. Wait/lock-free interprocess communication/coordination permits access to concurrent objects without the use of locking; thus, it o ers guarantees not only regarding priority inversion (it eliminates this problem altogether), but also regarding e ciency (by allowing maximum concurrency and thus, low completion times) and fault-tolerance (no task is blocked due to a task that crashed while holding a lock). The wait-free condition guarantees progress and completion for every job (of every task) regardless of the execution speeds (and priorities) of the other tasks in the system. Lock-free implementations have a more relaxed requirement: locking is ruled out, as in wait-free implementations, but repeated interferences (e.g. under extreme load conditions of the system) may cause a given operation to take longer time to complete. Comparing the two, lock-free methods imply less-overhead (i.e. in memory requirements), while wait-free methods guarantee fully predictable behaviour for every task. The so-far experience with nonlocking synchronisation has shown that it can o er signi cant bene ts in practice and |more signi cantly| it is e cient alternative to lock-based synchronisation methods for managing concurrency and access to shared resources. However, there has been only limited (although very successful and promising) e ort to study and apply the lock/wait-free synchronisation ideas on real-time systems and in practice in general. This project is to continue our recently started collaboration to explore the power and applicability of non-locking synchronisation in real-time systems and applications, by combining the experience of the two research groups in theses areas and the useful feedback from the industrial nodes in the project. Our aim in this project is to study and apply the lock/wait-free methods (each one where appropriately suited) to derive new protocols and algorithms for real-time systems and show how they can improve the system behaviour, compared with lock-based methods. An im-

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Thesis for the Degree of Licentiate of Philosophy Applications of Non-Blocking Data Structures to Real-Time Systems

This thesis is a major part of the results within a project called ”Applications of wait/lock-free protocols to real-time systems”. This project is funded by the national Swedish Real-Time Systems research initiative ARTES (www.artes.uu.se) supported by the Swedish Foundation for Strategic Research. The project started in March 1999 and has been running in major with one active Ph.D. student. T...

متن کامل

On Utility Accrual Processor Scheduling with Wait-Free Synchronization for Embedded Real-Time Software

We present the first wait-free utility accrual (UA) real-time scheduling algorithms for embedded real-time systems. UA scheduling algorithms allow application activities to be subject to time/utility function (TUF) time constraints, and optimize criteria such as maximizing the sum of the activities’ attained utilities. We present UA algorithms that use wait-free synchronization for mutually exc...

متن کامل

Wait-Free Snapshots in Real-Time Systems: Algorithms and Performance

Snap-shot mechanisms are used to read a globally consistent set of variable values. Such a mechanism can be used to solve a variety of communication and synchronization problems, including system monitoring and control of real-time applications. Methods based on locking (e.g. using semaphores) are penalized by blocking, which typically leads to difficulties in guaranteeing deadlines of high pri...

متن کامل

Simple Wait-Free Snapshots for Real-Time Systems with Sporadic Tasks1

A wait-free algorithm for implementing a snapshot mechanism for real-time systems is presented in this paper. Snapshot mechanisms give the means to a real-time task to read a globally consistent set of variable values while other concurrent tasks are updating them. Such a mechanism can be used to solve a variety of communication and synchronisation problems, including system monitoring and cont...

متن کامل

Pragmatische nichtblockierende Synchronisation für Echtzeitsysteme Dissertation

In this thesis I present a pragmatic methodology for designing nonblocking real-time systems. My methodology uses a combination of lock-free and wait-free synchronization techniques and clearly states which technique should be applied in which situation. This thesis reports novel results in various respects: My approach restricts the usage of lock-free mechanisms to cases where the widely avail...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998